package br.trainee.web.vo;

import java.util.List;

import javax.persistence.Cacheable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.QueryHint;
import javax.persistence.Table;

@Entity
@Table(name="tipo_telefone")
@NamedQueries(value={
		
		@NamedQuery(name="queryBuscarTodosTipoTelefone", query="select t from TipoTelefoneVO t",
				hints={@QueryHint(name="org.hibernate.cacheable", value="true")})
})
@Cacheable(true)
public class TipoTelefoneVO extends GenericoVO{
	
	@Id
	@Column(name="id_tipo_telefone")
	private Long idTipoTelefone;
	
	@Column(name="tipo_telefone")
	private Integer tipoTelefone;
	
	@Column(name="descricao")
	private String descricao;
	
	@OneToMany(fetch=FetchType.LAZY, mappedBy="tipoTelefone")
	private List<TelefoneClinicaVO> telefones;
	
	public TipoTelefoneVO() {
	
		
	}
	
	
	public List<TelefoneClinicaVO> getTelefones() {
		return telefones;
	}
	public void setTelefones(List<TelefoneClinicaVO> telefones) {
		this.telefones = telefones;
	}

	
	public Long getIdTipoTelefone() {
		return idTipoTelefone;
	}
	public void setIdTipoTelefone(Long idTipoTelefone) {
		this.idTipoTelefone = idTipoTelefone;
	}
	

	public Integer getTipoTelefone() {
		return tipoTelefone;
	}
	public void setTipoTelefone(Integer tipoTelefone) {
		this.tipoTelefone = tipoTelefone;
	}
	

	public String getDescricao() {
		return descricao;
	}
	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}
	
	

}
